﻿$.hostProjeto = '';
$.raizProjeto = '/projeto';

//=== ïcones padrão do sistema ===
$.iconIncluir   = $.raizProjeto + '/images/icon-add.png';
$.iconExcluir   = $.raizProjeto + '/images/icon-delete.png';
$.iconAtualizar = $.raizProjeto + '/images/icon-refresh.png';

function getUrlVars(){
	var vars = [], pedaco;	
	var inteira = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
	var vpc_url_seprada = window.location.href.split('?');
	var vpc_url = vpc_url_seprada[0].split('\/');
	vars['programa'] = vpc_url[vpc_url.length - 1];
	
	for (var i = 0; i < inteira.length; i++){		
		pedaco = inteira[i].split('=');
		
		pedaco[1] = unescape(pedaco[1]);
		vars.push(pedaco[0]);
		vars[pedaco[0]] = pedaco[1];
	}
	return vars;
}

function getMsgUrl () {
	var vdados = getUrlVars();
	
	if (vdados.length > 0) {
		if (vdados['verro'] != '' && vdados['verro'] != undefined) {					
			if (vdados['verro'] != 'false') {
				return utf8.decode(vdados['verro']);
			}				
		}
	}
	return false;
}

function validarSessao () {
	var validaSessao = AjaxPadrao('/php/seguranca/SEGLogin.php','GET','valida=true');
	validaSessao.done(function( data ) {
		data = $.trim(data);
		var obj = $.parseJSON(data);
		
		if (obj.expirou == true) {
			window.location.href = $.raizProjeto + '/html/seguranca/SEGLogin.html?verro=Sessão expirou, faça o login novamente.';
		} else if ($("#containerAguardando").length > 0) {
			$("#containerAguardando").unmask();
			//$("#content").css('display','block');
			$("#containerAguardando").css('display','none');
		}
		
		setTimeout(function () { validarSessao(); }, 60000);
	});
	 
	validaSessao.fail(function( jqXHR, textStatus ) {
		showmessage('','S','Erro na requisição da validação da sessão. Falha: ' + textStatus,'S','');
	});			
}

$.cachedScript = function( vurl, options ) {
    // Allow user to set any option except for dataType, cache, and url
    options = $.extend( options || {}, {
        dataType: "script",
        cache: false,
        url: $.hostProjeto + $.raizProjeto + vurl
    });

    // Use $.ajax() since it is more flexible than $.getScript
    // Return the jqXHR object so we can chain callbacks
    return $.ajax( options );
};

$.StyleCss = function (url) {
	$("head").append("<link>");
   var css = $("head").children(":last");
   css.attr({
     rel:  "stylesheet",
     type: "text/css",
     href: $.hostProjeto + $.raizProjeto + url
  });
	
}

$.Javascript = function (url) {
	$("head").append("<script>");
   var js = $("head").children(":last");
   js.attr({
     type: "text/javascript",
     src: $.hostProjeto + $.raizProjeto + url
  });	
}

var arqJs = ["/jqwidgets/jqxcore.js",
			 "/jqwidgets/jqxmenu.js",
			 "/jqwidgets/jqxdata.js",
			 "/jqwidgets/jqxbuttons.js",
			 "/jqwidgets/jqxscrollbar.js",			 
			 "/jqwidgets/jqxgrid.js",
			 "/jqwidgets/jqxexpander.js",
			 "/jqwidgets/jqxgrid.columnsresize.js",
			 "/jqwidgets/jqxsplitter.js",
			 "/jqwidgets/jqxinput.js",
		 	 "/jqwidgets/jqxnotification.js",
			 "/jqwidgets/jqxgrid.sort.js",
			 "/jqwidgets/jqxgrid.filter.js",
			 "/jqwidgets/jqxgrid.selection.js",
			 "/jqwidgets/jqxpanel.js",
			 "/jqwidgets/jqxcheckbox.js",
			 "/jqwidgets/jqxlistbox.js",
			 "/jqwidgets/jqxdropdownlist.js",
			 "/jqwidgets/jqxgrid.pager.js",
			 "/jqwidgets/globalization/localization.js",
			 "/jqwidgets/jqxwindow.js",
			 "/jqwidgets/jqxvalidator.js",
			 "/jqwidgets/jqxmaskedinput.js",
			 "/jqwidgets/jqxtabs.js",
			 "/jqwidgets/jqxtree.js",
			 "/jqwidgets/jqxscrollbar.js",
			 "/jqwidgets/jqxcombobox.js",
			 "/scripts/SISAlerta.js",
			 "/scripts/SISFuncoes.js"];			 

function execLoadJs(vnumArq) {
	console.log(vnumArq + '[' + $.hostProjeto + $.raizProjeto + arqJs[vnumArq]);
	var vpage = $.cachedScript(arqJs[vnumArq]);
	vpage.done(function(script,status) {
		$("head").append("<script>");
   		var js = $("head").children(":last");
		js.html(script);
		
		if (arqJs[vnumArq + 1] != undefined)
			execLoadJs(vnumArq + 1);
		else {
			var vdados = getUrlVars();
			if (vdados['programa'] != 'SEGLogin.html')
				validarSessao();
			else {
				$("#containerAguardando").unmask();
			//$("#content").css('display','block');
				$("#containerAguardando").css('display','none');
			}
		}			
	});	
	
	vpage.fail(function (script,status) {
		/*var resultado="";
		for (propriedade in script) {
		  resultado += propriedade + ": " + script[propriedade] + "\n"; 
		};
		alert(resultado + ' - pagina não encontrada:' +  $.hostProjeto + $.raizProjeto + arqJs[vnumArq]);	
		$("head").append("<script>");
   		var js = $("head").children(":last");
		js.html(script.responseText);
		//$("#content").css('display','block');
		$("#containerAguardando").css('display','none');*/
	});
}

$.includes =  function(purl) {	
	$.StyleCss("/jqwidgets/styles/jqx.base.css");
	$.StyleCss("/jqwidgets/styles/jqx.custom.css");
	$.StyleCss("/jqwidgets/styles/jquery.loadmask.css");
	$.StyleCss("/styles/estilo.css");

	$("#containerAguardando").css('left',0);
	$("#containerAguardando").css('top',0);
	$("#containerAguardando").css('width',window.innerWidth);
	$("#containerAguardando").css('height',window.innerHeight);
	$("#containerAguardando").mask("Aguarde <br>Carregando...");
	
	if (purl != '')	
		arqJs.push(purl);
				
	execLoadJs(0);
}